import { call, put, takeEvery } from "redux-saga/effects"
import { login } from "../../api/user"
import { loginAC } from "../actions/user"
//  定义一个生成器，每个生成器都是一个异步请求处理方案
function* checkItem({ type, payload }) {
  console.log("发送异步请求");
  // 只要是异步请求，我们需要使用call来调用。call来调用获取到结果底层调用它next(res.data)
  let users = yield call(() => login(payload))
  console.log("users:", users);
  // 将user保存到store仓库,调用put函数，底层会自动执行diapatch派发action
  yield put(loginAC(users.data.data))
}
// 暴露一个生成器，只要以后页面上dispatch派发。type的名字getUserBySaga
export default function* index() {
  yield takeEvery("loginSaga", checkItem)
}